/**
 * Created by helin3 on 2017/11/17.
 */
define(function (require, exports) {

    //page加载完成后调用ready方法
    exports.ready = function (hashCode, data, cite) {
        //创建virtual model
         vm =  yufp.custom.vue({
            el: "#fx_form",
            //以m_开头的属性为UI数据不作为业务数据，否则为业务数据
            data: function(){
                var _this = this;

                /**
                 *  可以扩展验证库未提供的验证方法
                 *
                 * **/
                yufp.validator.checkAge = function(rule, value, callback){
                    if (!value) {
                        return callback(new Error('年龄不能为空'));
                    }
                    setTimeout(function(){
                        if (!Number.isInteger(value)) {
                            callback(new Error('请输入数字值'));
                        } else {
                            if (value < 18) {
                                callback(new Error('必须年满18岁'));
                            } else {
                                callback();
                            }
                        }
                    }, 200);
                };
                return {
                    options: [{
                        value: '选项1',
                        label: '黄金糕'
                    }, {
                        value: '选项2',
                        label: '双皮奶'
                    }, {
                        value: '选项3',
                        label: '蚵仔煎'
                    }, {
                        value: '选项4',
                        label: '龙须面'
                    }, {
                        value: '选项5',
                        label: '北京烤鸭'
                    }],
                    value:'',
                    checkbox_x:'',
                    radio_x:'',
                    dataUrl:"trade/example/select",
                    ruleForm: {
                        selected:[],
                        cascader:[],
                        name: '',
                        region: '',
                        date1: '',
                        date2: '',
                        delivery: false,
                        type: [],
                        resource: '',
                        desc: '',
                        options1:[{"key":'1',"value":'测试组件'},{"key":'2',"value":'测试组件2'}],
                        options2:[{
                            value: 'zhinan',
                            label: '指南',
                            disabled: true,
                            children: [{
                                value: 'shejiyuanze',
                                label: '设计原则',
                                children: [{
                                    value: 'yizhi',
                                    label: '一致'
                                }, {
                                    value: 'fankui',
                                    label: '反馈'
                                }, {
                                    value: 'xiaolv',
                                    label: '效率'
                                }, {
                                    value: 'kekong',
                                    label: '可控'
                                }]
                            }, {
                                value: 'daohang',
                                label: '导航',
                                children: [{
                                    value: 'cexiangdaohang',
                                    label: '侧向导航'
                                }, {
                                    value: 'dingbudaohang',
                                    label: '顶部导航'
                                }]
                            }]
                        }, {
                            value: 'zujian',
                            label: '组件',
                            children: [{
                                value: 'basic',
                                label: 'Basic',
                                children: [{
                                    value: 'layout',
                                    label: 'Layout 布局'
                                }, {
                                    value: 'color',
                                    label: 'Color 色彩'
                                }, {
                                    value: 'typography',
                                    label: 'Typography 字体'
                                }, {
                                    value: 'icon',
                                    label: 'Icon 图标'
                                }, {
                                    value: 'button',
                                    label: 'Button 按钮'
                                }]
                            }, {
                                value: 'form',
                                label: 'Form',
                                children: [{
                                    value: 'radio',
                                    label: 'Radio 单选框'
                                }, {
                                    value: 'checkbox',
                                    label: 'Checkbox 多选框'
                                }, {
                                    value: 'input',
                                    label: 'Input 输入框'
                                }, {
                                    value: 'input-number',
                                    label: 'InputNumber 计数器'
                                }, {
                                    value: 'select',
                                    label: 'Select 选择器'
                                }, {
                                    value: 'cascader',
                                    label: 'Cascader 级联选择器'
                                }, {
                                    value: 'switch',
                                    label: 'Switch 开关'
                                }, {
                                    value: 'slider',
                                    label: 'Slider 滑块'
                                }, {
                                    value: 'time-picker',
                                    label: 'TimePicker 时间选择器'
                                }, {
                                    value: 'date-picker',
                                    label: 'DatePicker 日期选择器'
                                }, {
                                    value: 'datetime-picker',
                                    label: 'DateTimePicker 日期时间选择器'
                                }, {
                                    value: 'upload',
                                    label: 'Upload 上传'
                                }, {
                                    value: 'rate',
                                    label: 'Rate 评分'
                                }, {
                                    value: 'form',
                                    label: 'Form 表单'
                                }]
                            }, {
                                value: 'data',
                                label: 'Data',
                                children: [{
                                    value: 'table',
                                    label: 'Table 表格'
                                }, {
                                    value: 'tag',
                                    label: 'Tag 标签'
                                }, {
                                    value: 'progress',
                                    label: 'Progress 进度条'
                                }, {
                                    value: 'tree',
                                    label: 'Tree 树形控件'
                                }, {
                                    value: 'pagination',
                                    label: 'Pagination 分页'
                                }, {
                                    value: 'badge',
                                    label: 'Badge 标记'
                                }]
                            }, {
                                value: 'notice',
                                label: 'Notice',
                                children: [{
                                    value: 'alert',
                                    label: 'Alert 警告'
                                }, {
                                    value: 'loading',
                                    label: 'Loading 加载'
                                }, {
                                    value: 'message',
                                    label: 'Message 消息提示'
                                }, {
                                    value: 'message-box',
                                    label: 'MessageBox 弹框'
                                }, {
                                    value: 'notification',
                                    label: 'Notification 通知'
                                }]
                            }, {
                                value: 'navigation',
                                label: 'Navigation',
                                children: [{
                                    value: 'menu',
                                    label: 'NavMenu 导航菜单'
                                }, {
                                    value: 'tabs',
                                    label: 'Tabs 标签页'
                                }, {
                                    value: 'breadcrumb',
                                    label: 'Breadcrumb 面包屑'
                                }, {
                                    value: 'dropdown',
                                    label: 'Dropdown 下拉菜单'
                                }, {
                                    value: 'steps',
                                    label: 'Steps 步骤条'
                                }]
                            }, {
                                value: 'others',
                                label: 'Others',
                                children: [{
                                    value: 'dialog',
                                    label: 'Dialog 对话框'
                                }, {
                                    value: 'tooltip',
                                    label: 'Tooltip 文字提示'
                                }, {
                                    value: 'popover',
                                    label: 'Popover 弹出框'
                                }, {
                                    value: 'card',
                                    label: 'Card 卡片'
                                }, {
                                    value: 'carousel',
                                    label: 'Carousel 走马灯'
                                }, {
                                    value: 'collapse',
                                    label: 'Collapse 折叠面板'
                                }]
                            }]
                        }, {
                            value: 'ziyuan',
                            label: '资源',
                            children: [{
                                value: 'axure',
                                label: 'Axure Components'
                            }, {
                                value: 'sketch',
                                label: 'Sketch Templates'
                            }, {
                                value: 'jiaohu',
                                label: '组件交互文档'
                            }]
                        }]
                    },
                    ruleForm2: {
                        pass: '',
                        checkPass: '',
                        age: ''
                    },
                    rules: {
                        selected:[
                            {type:"array",required: true, message: '请输入自定义sel组件', trigger: 'change' }
                            ],
                        name: [
                            { required: true, trigger: 'blur' },
                            { min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' }
                        ],
                        region: [
                            { required: true, message: '请选择活动区域', trigger: 'change' }
                        ],
                        date1: [
                            { type: 'date', required: true, message: '请选择日期', trigger: 'change' }
                        ],
                        date2: [
                            { type: 'date', required: true, message: '请选择时间', trigger: 'change' }
                        ],
                        type: [
                            { type: 'array', required: true, message: '请至少选择一个活动性质', trigger: 'change' }
                        ],
                        resource: [
                            { required: true, message: '请选择活动资源', trigger: 'change' }
                        ],
                        desc: [
                            { required: true, message: '请填写活动形式', trigger: 'blur' }
                        ],
                        cascader :[
                            { type:"array",required: true, message: '请填写级联组件', trigger: 'change' }
                        ],
                    },
                    rules2: {
                        pass: [
                            { validator: yufp.validator.number, trigger: 'change'}
                        ],
                        checkPass: [
                            { validator: yufp.validator.number, trigger: 'blur' }
                        ],
                        age: [
                            { required:true,message:'必填'},
                            { min:3,max:5,message:'长度必须3-5之间'},
                            { validator: yufp.validator.checkAge, trigger: 'blur' ,message:"只能为数字"}
                        ]
                    }
                }
            },
            mounted: function(){

            },
            methods: {
                submitForm: function(formName) {
                    console.log(this.ruleForm.selected)
                    this.$refs[formName].validate(function(valid){
                        if (valid) {
                            alert('submit!');
                        } else {
                            console.log('error submit!!');
                            return false;
                        }
                    });
                },
                showVal:function (val) {
                     console.log(val);
                },
                resetForm: function(formName) {
                    this.$refs[formName].resetFields();
                    this.$refs.mySelect.clear();
                    this.value="";
                },
                showValFn:function(formName){
                    alert(this.ruleForm.selected)
                },
                handleChange:function(val){
                    alert(val)
                }
            }
        });

        window.vm=vm;
    };

    //消息处理
    exports.onmessage = function (type, message) {

    };

    //page销毁时触发destroy方法
    exports.destroy = function (id, cite) {

    }

});